docs: #8 record the VM deployment in README and AGENTS.md #41
+20
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this does
Records the VM deployment for #8 in the places people already look: the Infrastructure section of
README.mdandAGENTS.md. No separate runbook file.Why no runbook
The first draft was
docs/VM-setup.md, a full runbook from an empty Ubuntu install. Erik's feedback: no separate markdown for how to get onto the machine and how the pieces are wired. Focus on the core of the issue. The course pages already cover VM access, and the deployment facts are short enough to live with the other project facts.So the file is gone and what remains is:
README.mdgains an Infrastructure section: the app runs on the group VM, client at/project2, GraphQL on 3001 behind an ApacheProxyPass, PostgreSQL local to the machine and not exposed, CI deploying on push tomain.AGENTS.mdcarries the same facts at the level an agent or a new contributor needs them, plus the one gap that will bite whoever picks up #5 and #6.The gap worth reading
The VM's
~/T19-Project-2is a manual copy of an early prototype, not a git clone. That is whyserver/dist/index.jsexists there whileserver/does not exist onmain, and whycrate-apiis running code that is not in this repository. M2 replaces both with a real clone and a build step.Recording that here rather than burying it is the point. Someone picking up #6 will otherwise assume the VM matches
mainand be confused when it does not.What was tested
Verified against the live VM today, before writing this:
psqlast19againstcratenode -v/pnpm -vsystemctl is-enabled crate-apienabledsystemctl is-active crate-apiactivePOST localhost:3001/graphql{"data":{"__typename":"Query"}}POST localhost/graphql(through Apache){"data":{"__typename":"Query"}}GET localhost/project2/Also
pnpm format:check,pnpm lint,pnpm typecheckandpnpm testall pass.Closes
Closes #8.